package com.css.fxfzxczh.modules.lossAssessment.houseCategoryArea.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.handler.inter.IExcelDataModel;
import cn.afterturn.easypoi.handler.inter.IExcelModel;
import com.css.fxfzxczh.base.annotation.EntityValue;
import com.css.fxfzxczh.base.annotation.Transform;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Dbj
 * @date 2023年05月31日  17:35
 * 确定总建筑面积实体
 */
@Data
@Accessors(chain = true)
public class HouseCategoryArea implements Serializable, IExcelDataModel, IExcelModel {
    /**
     *主键
     */
    private String xshcaId;
    /**
     *评估子区id
     */
    private String xstmId;
    /**
     *地震事件Id
     */
    private String xsemId;
    /**
     *评估子区名称
     */
    private String evaluationSubareaName;
    /**
     *省
     */
    @Excel(name = "省")
    private String province;
    /**
     *市
     */
    @Excel(name = "市")
    private String city;
    /**
     *区县
     */
    @Excel(name = "区/县")
    private String county;
    /**
     *省code
     */
    private String provinceCode;
    /**
     *市code
     */
    private String cityCode;
    /**
     *区县code
     */
    private String countyCode;
    /**
     *房屋用途code
     */
    private String housePurposeCode;
    /**
     *房屋用途名称
     */
    @Excel(name = "房屋用途")
    private String housePurposeName;
    /**
     *I类建筑总面积
     */
    @NotNull(message = "I类建筑总面积不能为空")
    @Excel(name = "I类", groupName = "总建筑面积")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v1Area;
    /**
     *II类建筑总面积
     */
    @NotNull(message = "II类建筑总面积不能为空")
    @Excel(name = "II类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v2Area;
    /**
     *III-1类建筑总面积
     */
    @NotNull(message = "III-1类建筑总面积不能为空")
    @Excel(name = "III-1类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v3Area;
    /**
     *III-2类建筑总面积
     */
    @NotNull(message = "III-2类建筑总面积不能为空")
    @Excel(name = "III-2类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v4Area;
    /**
     *lV类建筑总面积
     */
    @NotNull(message = "IV类建筑总面积不能为空")
    @Excel(name = "Ⅳ类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v5Area;
    /**
     *V-1类建筑总面积
     */
    @NotNull(message = "V-1类建筑总面积不能为空")
    @Excel(name = "V-1类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v6Area;
    /**
     *V-2类建筑总面积
     */
    @NotNull(message = "V-2类建筑总面积不能为空")
    @Excel(name = "V-2类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v7Area;
    /**
     *V-3类建筑总面积
     */
    @NotNull(message = "V-3类建筑总面积不能为空")
    @Excel(name = "V-3类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v8Area;
    /**
     *VI类建筑总面积
     */
    @NotNull(message = "VI类建筑总面积不能为空")
    @Excel(name = "Ⅵ类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v9Area;
    /**
     *VII类建筑总面积
     */
    @NotNull(message = "VII类建筑总面积不能为空")
    @Excel(name = "Ⅶ类")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Transform
    private BigDecimal v10Area;
    /**
     *创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     *创建人
     */
    private String createUserId;
    /**
     *修改人
     */
    private String updateUserId;
    /**
     *修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    private String delFlag;

    @Override
    public Integer getRowNum() {
        return null;
    }

    @Override
    public void setRowNum(Integer rowNum) {

    }

    @Override
    public String getErrorMsg() {
        return null;
    }

    @Override
    public void setErrorMsg(String errorMsg) {

    }
}
